作者:mobiledu2502859223 | 来源:互联网 | 2023-09-10 09:48
类 Hashtable
所有已实现的接口:
Serializable, Cloneable, Map
此类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。
为了成功地在哈希表中存储和获取对象,用作键的对象必须实现 hashCode 方法和 equals 方法。
从Java 2 平台 v1.2起,此类就被改进以实现 Map 接口,
使它成为 Java Collections Framework 中的一个成员。
不像新的 collection 实现,Hashtable 是同步的
已被HashMap替代
面试题
HashMap和Hashtable的区别
共同点:
底层都是哈希算法,都是双列集合
区别:
1,HashMap是线程不安全的,效率高,JDK1.2版本
Hashtable是线程安全的,效率低,JDK1.0版本的
2,HashMap可以存储null键和null值
Hashtable不可以存储null键和null值
import java.util.HashMap;
import java.util.Hashtable;
public class g {
public static void main(String[] args) {
HashMap hm = new HashMap<>();
hm.put(null, 23);
hm.put("李四", null);
System.out.println(hm);
Hashtable ht = new Hashtable<>();
//ht.put(null, 23);
//ht.put("张三", null);
/* java.lang.NullPointerException
at java.util.Hashtable.put(Unknown Source)*/
System.out.println(ht);
}
}